1. Field of the Invention
The present invention relates to a router device for routing packets to destinations on networks, and more particularly to system switchover technology in a router device having a redundant configuration.
2. Description of Related Art
A router, which forwards packets between the terminals of different networks, needs to exchange routing information with another router to perform dynamic routing of packets, and on the basis of routing information, create a routing table which shows the destination addresses of packets associated with transit nodes.
Two protocols are known for exchanging routing information and for generating a routing table based on the information: one is a Distance Vector Algorithm (DVA) based protocol, such as Routing Information Protocol (RIP) stipulated by Request for Comments (RFC) 1058 prepared by Internet Engineering Task Force (IETF) and issued from the Internet Architecture Board (IAB), and the other is Link-State Algorithm (LSA) based protocol such as Open Shortest Path First (OSPF) stipulated by RFC 1247.
A RIP-based router exchanges routing table entries with another router and determines a routing path according to the number of hops (the number of routers to the destination), while an OSPF-based router exchanges network connection state information (addresses and so on) and determines a path based on a cost determined by considering many factors including the number of hops. It should be noted that, in exchanging routing information among routers, a particular packet called a routing protocol packet is used.
More specifically, in OSPF, each router exchanges information with all other routers by using packets called routing protocol packets. Each router periodically transmits packets called Hello packets, a kind of routing protocol packet, to the network. A Hello packet includes the router's own ID, and the identity of the network to which the router is connected, and a list of other routers' ID's connected to the same network to which the router is connected. The other routers' ID's placed in the above list include the other routers' ID's of which the router was made aware by Hello packets received from other routers.
If a router receives a Hello packet, which includes its own ID, from another router that the router has been aware of, on the understanding that the two routers have become aware of each other, the two routers exchange network link-state information by sending routing protocol packets.
Network link-state information includes the ID of the advertising router, the identity of the network to which the advertising router is connected, the addresses of the interfaces through which the advertising router is connected to the networks, and the costs of the interfaces. The cost of an interface means the cost which is incurred when the interface is used to forward packets and which is set by the network administrator.
A router which collected network link-state information from another network connected to the same network creates a routing table specifying the least-cost path as the packet route. This router forwards the packet according to a resulting routing table.
Network link-state information is transmitted by a router where a change occurred in its configuration. A router receiving this information updates the routing table if an update is necessary according to contents of the change.
Meanwhile, each router, while it transmits or receives Hello packets and network link-state information, manages the states of other routers on the network to which this router is connected and also manages the states of the interfaces through which this router is connected to networks. With regard to the states of routers, each router manages the routers' ID's, and checks if each of those routers is aware of this router, or checks if each of those routers has completed the transmission and reception of network link-state information. With regard to interface state, each router manages the addresses of the interfaces and other routers connected to a network to which an interface is connected.
A list of other routers, which is included in a Hello packet, is prepared according to the states of routers and the states of interfaces mentioned above.
Each router monitors the active modes of the other routers according to information from Hello packets it receives. More specifically, if there is any other router from which the router has not received Hello packets for longer than a fixed period, the router decides that a failure has occurred in this other router. Also, the router takes measures such as altering the contents of the routing table to establish another path to avoid the faulty router.
To improve the performance of the routers, it has recently been proposed to separate a router into a portion for forwarding packets and a portion for creating a routing table. Using this configuration, it becomes possible to execute the packet forwarding process regardless of the load on the process of creating the routing table.
This technique is described in "Packet Magazine Third Quarter 1995" (Cisco).
In this specification, the portion for creating a routing table is called a route calculation unit and the portion for counting packets is called a forwarding process unit.
To enhance the reliability of the router device, it is now common practice to multiplex the above-mentioned route calculation units. The multiplex router device includes a plurality of route calculation units, and always has one route calculation unit placed in the active mode to make it execute an ordinary process while keeping the remaining route calculation units in a standby mode. When the route calculation unit in the active mode runs into trouble, the multiplex router device brings one of the waiting route calculation units into the active mode (this is referred to as a system switchover of route calculation units), and the one other route calculation unit takes over and continues to execute the process that was previously being executed by the route calculation unit in trouble.
This technique is described in Cisco's manual, "Configuration Fundamentals Configuration Guide Cisco Systems, Inc. 1996".
To prevent the other routers from being affected by this system switchover of the route calculation units or to facilitate the system switchover, a thinkable method includes the steps of sending all items of information (network link-state information, states of routers, and states of interfaces), which the route calculation unit in the active mode obtained from the routing protocol process, from the route calculation unit in the active mode to the route calculation units in the standby mode, and storing them in the route calculation units in the standby mode. With the above arrangement, the same states in the route calculation unit, which was previously in the active mode, can be reproduced in a route calculation unit which is subsequently brought into the active mode, and the route calculation unit newly brought into the active mode can promptly become capable of executing the same process as did the previously operating route calculation unit. Consequently, the other routers are protected from the affects of the system switchover of the routers.
However, according to the above-mentioned system switchover technology, the amount of information that must be sent from the route calculation unit that has been in the active mode to the route calculation unit in the standby mode increases as the number of other routers increases. For this reason, as the channels accommodated in the respective routers increase and the routers increase in number as the size of the network becomes larger, the traffic volume in the routers becomes too large due to the transmission of information from the operating route calculation units to the route calculation units in the standby mode. If such excessively large traffic flows occur, delays will arise in the process by the route calculation units themselves or enough traffic capacity cannot be secured for forwarding of packets due to the traffic of information from the route calculation units in the active mode to the route calculation units in the standby mode. The above-mentioned heavy traffic is likely to provide hindrances to the packet forwarding. From a different point of view, it is impossible to accommodate a large number of channels in the router device.
On the other hand, if any information obtained by the routing protocol process is not transmitted from the route calculation unit in operation to the route calculation unit in standby mode, not only must the route calculation unit, which is subsequently brought into operation, execute the routing protocol process from the beginning, but also the other routers must execute the routing protocol process. Furthermore, the packets that have passed this router cannot be forwarded in a normal manner until the routing protocol process ends and the router collects network link-state information about the other routers and reorganizes the routing table. Furthermore, the traffic on the network is increased, for example, by exchange of network link-state information by routing protocol packets.